package com.xintai.approval.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xintai.common.annotation.Excel;
import com.xintai.common.core.domain.BaseEntity;

/**
 * 申请对象 flow_apply
 *
 * @author xintai
 * @date 2021-02-01
 */
public class FlowApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 定义流程表id */
    @Excel(name = "定义流程表id")
    private Long flowId;

    /** 申请名称 */
    @Excel(name = "申请名称")
    private String applyName;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    /** 备注 */
    @Excel(name = "备注")
    private String applyRemark;

    /** 状态（0：未审核，1：同意，2：驳回，-1：拒绝，3：审核中，4：完成，5：删除） */
    @Excel(name = "状态", readConverterExp = "0=：未审核，1：同意，2：驳回，-1：拒绝，3：审核中，4：完成，5：删除")
    private String status;

    /** 流程节点id*/
    private Long nodeId;
    /** 详情id */
    @Excel(name = "详情id")
    private Long detailId;

    /** 流程名称 */
    private FlowBasicinfo basicinfo;

    /** 采购申请单*/
    private FlowCaigouApply flowCaiGouApply;
    /** 审核人意见*/
    private String approverRemark;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFlowId(Long flowId)
    {
        this.flowId = flowId;
    }

    public Long getFlowId()
    {
        return flowId;
    }
    public void setApplyName(String applyName)
    {
        this.applyName = applyName;
    }

    public String getApplyName()
    {
        return applyName;
    }
    public void setApplyTime(Date applyTime)
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime()
    {
        return applyTime;
    }
    public void setApplyRemark(String applyRemark)
    {
        this.applyRemark = applyRemark;
    }

    public String getApplyRemark()
    {
        return applyRemark;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDetailId(Long detailId)
    {
        this.detailId = detailId;
    }

    public Long getNodeId() {
        return nodeId;
    }

    public void setNodeId(Long nodeId) {
        this.nodeId = nodeId;
    }

    public Long getDetailId()
    {
        return detailId;
    }

    public FlowBasicinfo getBasicinfo() {
        return basicinfo;
    }

    public void setBasicinfo(FlowBasicinfo basicinfo) {
        this.basicinfo = basicinfo;
    }

    public FlowCaigouApply getFlowCaiGouApply() {
        return flowCaiGouApply;
    }

    public void setFlowCaiGouApply(FlowCaigouApply flowCaiGouApply) {
        this.flowCaiGouApply = flowCaiGouApply;
    }

    public String getApproverRemark() {
        return approverRemark;
    }

    public void setApproverRemark(String approverRemark) {
        this.approverRemark = approverRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("flowId", getFlowId())
            .append("applyName", getApplyName())
            .append("applyTime", getApplyTime())
            .append("applyRemark", getApplyRemark())
            .append("status", getStatus())
            .append("detailId", getDetailId())
            .toString();
    }
}
